home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 045a / mapsav.zip / MAPSV.PAS < prev   
Pascal/Delphi Source File  |  1989-12-06  |  3KB  |  96 lines

  1. PROGRAM MAPSAVE;    {Written by Wolfgang Schreiber (NOVELL Duesseldorf}
  2.  
  3.  
  4. Uses
  5.   Crt;
  6.  
  7. TYPE   DATEI   = TEXT;
  8.        STR80   = STRING[80];
  9.  
  10. VAR    EIN,AUS      : TEXT;
  11.        ZEILE, PATH  : STR80;
  12.        I,ZNR        : INTEGER;
  13.        DTYP, DRV, SX    : CHAR;
  14.  
  15.  PROCEDURE DelBlanks;
  16.  VAR i : INTEGER;
  17.      p : Str80;
  18.  BEGIN
  19.  p := '';
  20.  for i:=1 to Length(Path) DO if Path[i]<>' ' then p:=p+Path[i];
  21.  path := p;
  22.  END;
  23.  
  24. BEGIN
  25. {$I-}
  26. ASSIGN(EIN,'MAPS');       RESET(EIN);
  27. ASSIGN(AUS,'MAPGET.BAT'); REWRITE(AUS);
  28. {$I+}
  29.  
  30. IF IORESULT<>0 then
  31.               BEGIN
  32.               WriteLn('  I/O-Error');
  33.               WriteLn('  Do you have enough space  on your default drive ?');
  34.               WriteLn('  Do you have enough rights on your default drive ?');
  35.               EXIT
  36.               END;
  37.  
  38.    ClrScr;
  39.    WriteLn('MAPSAVE  will save your current mappings.');
  40.    WriteLn('         Choose the drives that you want to save:');
  41.    WriteLn;
  42.  
  43. WHILE NOT EOF(EIN) DO
  44.    BEGIN
  45.    READLN(EIN, ZEILE);
  46.    IF (POS('local disk',ZEILE)=0) AND (POS('---',ZEILE)=0) AND (LENGTH(ZEILE)>13)  THEN
  47.       BEGIN
  48.       DTYP := ZEILE[1];
  49.       CASE DTYP OF
  50.         'D' : PATH := COPY(ZEILE,13,80);
  51.         'S' : IF (ZEILE[16]=' ') or (ZEILE[16]='.')
  52.                  then PATH := COPY(ZEILE,18,80)
  53.                  else PATH := COPY(ZEILE,13,80);
  54.         END; {CASE};
  55.       IF COPY(PATH,1,1)='[' THEN
  56.          BEGIN
  57.          PATH := COPY(PATH,2,80);
  58.          VAL(COPY(ZEILE,7,2),ZNR,I)
  59.          END
  60.                           ELSE
  61.          VAL(COPY(ZEILE,7,1),ZNR,I);
  62.       IF DTYP='S' THEN BEGIN
  63.                        PATH:=COPY(PATH,1,LENGTH(PATH)-1);
  64.                        WRITELn('Search Drive ', ZNR,': ', PATH)
  65.                        END;
  66.       IF DTYP='D' THEN BEGIN
  67.                        DRV :=ZEILE[8];
  68.                        WRITELn('       Drive  ',DRV,': ', PATH)
  69.                        END;
  70.  
  71.       WRITE('             S=SAVE   D=DISCARD   : D',#8);
  72.       SX := ReadKey;
  73.       WRITE(#13,'                                         ',#13);
  74.  
  75.       IF SX IN ['S','s'] THEN
  76.          BEGIN
  77.          DelBlanks;
  78.          IF DTYP='S' THEN WRITELN(AUS,'MAP S16:= ', PATH);
  79.          IF DTYP='D' THEN WRITELN(AUS,'MAP ',DRV,':= ', PATH);
  80.          END
  81.       END
  82.    END;
  83.  
  84. CLOSE(EIN); CLOSE(AUS);
  85.  
  86. WriteLn;
  87. WriteLn;
  88. WriteLn('Restore your current mappings at any time by typing the');
  89. WriteLn('  Batch-File  MAPGET');
  90. WriteLn;
  91. WriteLn('MAPSAVE  written by  Wolfgang Schreiber  -  Novell Duesseldorf');
  92. WriteLn;
  93.  
  94. END.
  95.  
  96.